package tag24_12_08.exception;

public class Ex06_ThrowableUndCatchReihenfolge {

	public static void main(String[] args) {

		IllegalArgumentException e1 = new IllegalArgumentException();
		Exception e2 = e1;
		Throwable t1 = e2;

		try {

			// viel code hier

		}
		// catch( Exception e){
		// System.out.println("Alle andere Exceptions behandeln");
		// }
		catch (ClassCastException e) {
			System.out.println("Alle andere Exceptions behandeln");
		} catch (IllegalArgumentException e) {
			System.out.println("IllegalArgumentException behandeln");
		} catch (Exception e) { // nach spezielle Exceptions
			System.out.println("Alle andere Exceptions behandeln");
		} catch (Throwable th) { // Darf NUR der Letzte catch-Block sein
			System.out
					.println("Alles andere als Exceptions: Errors behandeln(nicht empfehlenswert)");
		}

		// Bei den Geschwistertypen-Exceptions ist die Rheienfolge der catch
		// nicht wichtig:
		try {
		} catch (ClassCastException e) {
		} catch (IllegalArgumentException e) {
		}

		try {
		} catch (IllegalArgumentException e) {
		} catch (ClassCastException e) {
		}
	}

}
